Interactive answer boxes for user search queries

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for presenting data are disclosed. In one aspect, a method includes presenting, by a user device, an answer box as a search result in a search result location of a search results page. The answer box can include first content responsive to a query that submitted with a first resource request over a network. The user device determines that a user interaction with the answer box has occurred. In response to determining that the user interaction has occurred, the user device can presents second content in the answer box. The second content is selected from available content that has not been presented prior to the user interaction. The second content is presented independent of submission of a second resource request over the network subsequent to submission of the first resource request.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of, and claims priorityto, U.S. patent application Ser. No. 14/971,374, titled “InteractiveAnswer Boxes For User Search Queries,” filed on Dec. 16, 2015, which isa continuation application of, and claims priority to, U.S. patentapplication Ser. No. 13/707,944, now U.S. Pat. No. 9,274,683, titled“Interactive Answer Boxes For User Search Queries,” filed on Dec. 7,2012, which application claims the benefit under 35 U.S.C. § 119(e) ofU.S. Patent Application No. 61/581,874, entitled “Interactive AnswerBoxes For User Search Queries,” filed Dec. 30, 2011. The disclosure ofeach of the foregoing applications is incorporated herein by reference.

BACKGROUND

This specification relates to data presentation.

The Internet provides access to a wide variety of resources, such asimage files, audio files, video files, and web pages. A search systemcan identify resources in response to queries submitted by users andprovide information about the resources in a manner that is useful tothe users.

Users of search systems are often searching for an answer to a specificquestion, rather than a listing of resources. For example, users maywant to know what the weather is in a particular location, a currentquote for a stock, what the definition of a particular word is, how toconvert between two time zones, or the product of multiplying twonumbers.

An answer box is a formatted presentation of content that is relevant toa query. For example, if the user's query refers to weather in aparticular location, the answer box can include a weather forecast forthat particular location. An answer box typically has a category that isone of a predefined group of categories, and is formatted according to atemplate specific to its category.

SUMMARY

In general, one innovative aspect of the subject matter described inthis specification can be embodied in methods that include the actionsof presenting, by a user device, an answer box as a search result in asearch result location of a search results page, the search resultlocation having a perimeter defining the search result location, theanswer box including first content responsive to a query that wassubmitted with a first resource request over a network; determining, bythe user device, that a user interaction with the answer box hasoccurred; and in response to determining that the user interaction hasoccurred, presenting, by the user device, second content in the answerbox and within the perimeter of the search result location, the secondcontent being selected from available content based on the userinteraction, the available content being content that was not presentedprior to the user interaction, the presentation of the second contentbeing independent of submission of a second resource request over thenetwork subsequent to submission of the first resource request. Otherembodiments of this aspect include corresponding systems, apparatus, andcomputer programs, configured to perform the actions of the methods,encoded on computer storage devices.

These and other embodiments can each optionally include one or more ofthe following features. Presenting the additional content in the answerbox can include presenting the second content without submitting thesecond resource request over the network; and maintaining presentationof the search results page.

The user device can be a mobile computing device and the network can bea mobile communications network. Methods can further include receivingthe first content and the second content in a same data transfer overthe mobile communications network, the data transfer being initiated inresponse to the first resource request.

Presenting the second content in the answer box can include presentingthe second content in place of the first content. Methods can furtherinclude identifying a user identifier for the user device that submittedthe query; and identifying the first content and the second contentbased on a user profile for the user identifier.

Methods can further include determining that the answer box is presentedon a mobile device including a display having a display area; and sizingthe answer box in a manner that causes the answer box to be presentedover at least a threshold portion of the display area.

Methods can further include determining a confidence measure for theanswer box, the confidence measure specifying a value indicative of alikelihood that the available content for the answer box is responsiveto the query; determining that the confidence measure exceeds aconfidence threshold; and in response to determining that the confidencemeasure exceeds the threshold, sizing the answer box in a manner thatcauses the answer box to be presented over at least a threshold portionof the display area in which the search results page is presented.

The first content can be presented by a first display card and thesecond content can be displayed by a second card, wherein the answer boxincludes a presentation control user interface element that enables auser to select between cards, and wherein the answer box includes anumber of cards, the number of cards being determined based on a useridentifier for the query.

Determining that a the user interaction has occurred can includedetermining that a user swipe has occurred, the determination that theuser swipe has occurred being based, at least in part, on detection of apointer at multiple locations along a path that extends from a firstdisplay location within the answer box at least to a second displaylocation within the answer box, the second display location being atleast a threshold distance from the first display location.

The answer box can further include a presentation control user interfacethat enables a user to control presentation of content within the answerbox. The first content can include weather information for a particularlocation and the second content can include additional weatherinformation for the particular location.

The first content can include a graph depicting pricing information fora financial security for a particular time period. The answer box caninclude a presentation control user interface element that enables auser to select a time period for the pricing information. Determiningthat a user interaction with the answer box occurred can includedetermining that an updated time period has been selected using thepresentation control user interface. The second content can includepricing information for the financial security for the updated timeperiod.

The first content can be a first information card. Presenting secondcontent in the answer box can include identifying, based on the userinteraction, a second information card to be presented in the answerbox; and replacing the first information card with the secondinformation card.

Particular embodiments of the subject matter described in thisspecification can be implemented so as to realize one or more of thefollowing advantages. Users can interact with an answer box presented ona search results page to access additional content relevant to a querywithout leaving the search results page. The additional content can be,for example, content requested by the user using a presentation controluser interface element. Initial content and additional content can betransferred to a user device in a single data transfer for presentationwithin the answer box. The initial content can be displayed when thesearch results page is initially presented and the additional contentcan be presented in response to a user interaction. Because theadditional content has already been transferred to the user device withthe search results page, the additional content can be presented quicklyand without initiating a resource request. The answer box can providefunctionality similar to that provided by a native application ofanother web page without navigating away from the search results page.Content presented by the answer box can be, for example, based on a useridentifier to provide personalized information in the answer box.Because the content can be based on a user identifier, the contentpresented in the answer box may be more relevant and formatted in a moreuseful way for a user associated with the user identifier.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages of thesubject matter will become apparent from the description, the drawings,and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment in which a searchsystem provides search services.

FIGS. 2A-2D are screen shots of an example search interface in which aninteractive answer box is presented.

FIG. 3 is a screen shot of another example search interface in which aninteractive answer box is presented.

FIG. 4 is a screen shot of another example search interface in which aninteractive answer box is presented.

FIGS. 5A-5D are screen shots of another example search interface inwhich an interactive answer box is presented.

FIG. 6 is a flow chart of an example process for presenting content inan interactive answer box.

FIG. 7 is a flow chart of an example process for generating result data.

FIG. 8 is a block diagram of an example computer system.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an example environment 100 in which asearch system 110 provides search services. The example environment 100includes a network 102, e.g., a local area network (LAN), wide areanetwork (WAN), the Internet, or a combination of them, connects websites 104, user devices 106, and the search system 110. The network 102can be accessed over a wired and/or a wireless communications link. Forexample, mobile computing devices, such as smartphones can utilize acellular network to access the network. The environment 100 may includemillions of web sites 104 and user devices 106.

A web site 104 is one or more resources 105 associated with a domainname and hosted by one or more servers. An example web site is acollection of web pages formatted in hypertext markup language (HTML)that can contain text, images, multimedia content, and programmingelements, e.g., scripts. Each web site 104 is maintained by a publisher,e.g., an entity that manages and/or owns the web site.

A resource 105 is data provided over the network 102 and that isassociated with a resource address. Resources 105 that can be providedby a web site 104 include HTML pages, word processing documents, andportable document format (PDF) documents, images, video, and feedsources, to name just a few. The resources 105 can include content,e.g., words, phrases, images and sounds and may include embeddedinformation, e.g., meta information and hyperlinks, and/or embeddedinstructions, e.g., scripts.

A user device 106 is an electronic device that is capable of requestingand receiving resources 105 over the network 102. Example user devices106 include personal computers, mobile computing devices, e.g.,smartphones and/or tablet computing devices, that can send and receivedata over the network 102. As used throughout this document, the termmobile computing device (“mobile device”) refers to a user device thatis configured to communicate over a mobile communications network. Asmartphone, i.e., a phone that is enabled to communicate over theInternet, is an example of a mobile device. A user device 106 typicallyincludes a user application, e.g., a web browser, to facilitate thesending and receiving of data over the network 102.

To facilitate searching of resources 105, the search system 110identifies the resources 105 by crawling and indexing the resources 105provided on web sites 104. Data about the resources 105 can be indexedbased on the resource to which the data corresponds. The indexed and,optionally, cached copies of the resources 105 are stored in a searchindex 112.

The user devices 106 submit search queries 109 to the search system 110.In response, the search system 110 accesses the search index 112 toidentify resources 105 that are relevant to, e.g., have at least aminimum specified relevance score for, the search query 109. The searchsystem 110 identifies the resources 105, generates search results 111that identify the resources 105, and returns the search results 111 tothe user devices 106. A search result 111 is data generated by thesearch system 110 that identifies a resource 105 that is responsive to aparticular search query, and includes a link to the resource 105. Anexample search result 111 can include a web page title, a snippet oftext or a portion of an image extracted from the web page, and the URLof the web page.

The search results 111 (e.g., SR1, SR2, SR3) are presented in a searchresults page 114 that is displayed at the user device 106. Userinteraction with a search result (e.g., SR1) causes the user device 106to request a landing page (e.g., Landing Page 1 (116)) referenced by thesearch result. In some implementations, the user device 106 submits ahypertext transfer protocol (“HTTP”) request for a resource that islocated at a uniform resource locator (“URL”) specified by the searchresult with which the user interaction occurred.

For example, user interaction with the search result SR1 can cause theuser device 106 to request Landing Page 1 (116) that is referenced bythe search result SR1. In response to the request, data that causepresentation of Landing Page 1 (116) are received by the user device 106and used to present Landing Page 1 (116) at the user device 106. In thisexample, the presentation of Landing Page 1 (116) may cause the searchresults page 114 to no longer be presented. For example, a browser thatwas presenting search results page 114 may present Landing Page 1 (116)in place of the results page 114.

To view additional landing pages for additional search results, a usercan again request presentation of search results page 114, for example,by interacting with a “back” element that is provided in their browser.Interaction with the “back” element will again cause presentation of thesearch results page 114, and the user can then interact with anothersearch result, such as SR2, to request presentation of landing page 2(118) that is referenced by the other search result. Similar interactionwith the “back” element and additional search results can be iterativelyperformed to continue to view landing pages for additional searchresults.

The search system 110 can also generate answer boxes and provide theanswer boxes in response to a search query 109. In general, an answerbox is a formatted presentation of content that is relevant to a query109. An answer box can include text, images, video, audio, forms,documents, and other types of data that can exist in a computingenvironment.

An answer box may be provided as a search result, for example, withother search results, in response to informational queries. Aninformational query is a query directed to specific information. Forexample, a query for “weather in Atlanta” or “hotels in New York City”may be classified as informational queries. In some implementations, thesearch system 110 can determine whether a particular query is aninformational query and provide an answer box as a search result inresponse to determining that the query is an informational query. Thesearch system 110 may also provide answer boxes for other types ofqueries.

An answer box can be formatted based on a category for the answer box.Example categories for answer boxes include weather, financial securityinformation, audio, video, people, places, landmarks, animals, and showtimes, e.g., movie listings, to name a few. Each of a predefined groupof categories can include one or more templates specific to thecategory. The templates define the type of content in the answer box andthe formatting of the content. For example, a template for a weatherinformation answer box may include a predefined area for presenting animage indicative of the current weather in a particular location and apredefined area for text that specifies the current weather and weatherforecasts for future time periods. In some implementations, an answerbox can also be formatted based on information that is associated with auser identifier for a user device to which the answer box will beprovided, as discussed below. When generating an answer box, the searchsystem 110 can select a template, identify content for populating thetemplate, and provide the template and identified content to the userdevice 106 for presentation.

An answer box can include content obtained from one or more web sites104 or resources 105. For example, an answer box may include weatherinformation obtained from a web site of a weather forecaster or from websites of multiple weather forecasters. The search system 110 canidentify content from the one or more web sites and specify the contentfor populating an answer box.

Answer boxes may also include web links to other web sites. For example,the search system 110 may provide a link to each web site from whichcontent presented by the answer box was obtained. This enables users toeasily navigate to those web sites to obtain additional information byinteracting with the links.

Answer boxes can be presented along with search results 111, orindependent of search results 111. In some implementations, one or moreanswer boxes are presented at the top of a search results page 114 andabove other search results 111 identified as being responsive to asearch query 109. In some implementations, a search results page 114 mayinclude one or more answer boxes only, without having other searchresults 111. For example, a single answer box may be sized in a mannerto fill a search results page 114 or display of a user device 106 if thesearch system 110 determines with at least a threshold level ofconfidence that the answer box provides the content for which the useris looking.

The search system 110 can generate and provide interactive answer boxesthat enable users to control content presented by the answer box and/orto request additional content for presentation by the answer box.Interactive answer boxes are answer boxes that enable users to viewadditional content associated with the answer box without navigatingaway from the search results page 114. For example, the additionalcontent requested by the user can be presented within the answer box onthe search results page 114 in response to user interaction with theanswer box. As discussed below, the additional content may be downloadedto the user device in advance of a request to reduce latency in contentretrieval.

In some implementations, the answer boxes are configured to visuallyappear as native applications that are typically hosted on a web sitereferenced by a search result 111. For example, financial web sitesoften enable users to interact with graphs that depict historical stockprices to change the manner in which information is presented in thegraphs. To emulate this user experience, an interactive answer box thatis presenting financial information can include a graph that behavessimilar to a native chart of a web site. For example, historical pricinginformation can be transmitted to the user device in response to asearch query for the financial information. The user device can use thereceived pricing information to update the chart in response to a userinteracting with the chart in the answer box.

An answer box may include one or more presentation control userinterface elements that enable a user to control or request content.Example presentation control user interface elements include sliders,search boxes, scroll bars, forms, and dials to name just a few. In someimplementations, users can also control or request content by “swiping”the answer box or a portion of the answer box. For example, the userdevice 106 having a touch screen and presenting the answer box maydetect a “swipe” of a user's finger or another pointer within the answerbox and present additional content in response to detecting the swipe. Auser swipe can be determined to have occurred in response to detecting apointer at multiple locations along a path that extends between twodisplay points within the answer box, where at least two of the multiplelocations at which the pointer has been detected are at least athreshold distance apart.

The search system 110 can identify initial content and additionalcontent for an answer box based, at least in part, on a received query109. For example, the search system 110 may identify a wide variety ofcontent that is relevant to a query 109. The search system 110 canselect, from the identified content, initial content that is to bepresented in the answer box when the search results page 114 isinitially presented. The search system 110 can also select additionalcontent that can be requested by the user, for example by interactingwith the answer box. For example, the answer box may include a scrollbar that enables the user to scroll between initial content andadditional content.

The search system 110 may organize content for an answer box intomultiple cards. Each card may include a template for presenting aparticular type of content. The template for each card can be selected,for example, based on the particular type of content to be presented inthe card. For example, a template for a summary card for a particularsubject, e.g., a card that includes various types of content for theparticular subject, may include an area for presenting an image that hasbeen identified as relevant to the particular subject and an area forpresenting textual content that has been identified as relevant to theparticular subject and/or the image.

Similarly, an images card for a particular subject, e.g., a card thatincludes two or more images that have been identified as relevant to theparticular subject, may include multiple different areas in whichmultiple different images can be presented. Other templates such as alist template that lists discrete items of information about theparticular subject can also be used to create the cards that areavailable for presentation.

The template for each card can be formatted in a manner that facilitatespresentation of the card in an answer box that is presented with asearch results page 114. For example, the template for each card canhave dimensions that are the same as or proportionally based on the sizeof the answer box in which the cards will be presented.

The cards can be cycled in and out of an answer box, for example inresponse to a user interaction with the answer box, to enable the userto access additional content. When a new card is cycled into the answerbox, the new card and its content can replace the previously displayedcard and its content.

A user can navigate between cards of an answer box to access additionalcontent for the answer box by interacting with the answer box. Forexample, an answer box may include a link for each card that, whenselected, causes the user device presenting the answer box to presentthe selected card. Or, a user may navigate between cards by swiping theanswer box in a particular direction. For example, in response todetecting a swipe from left to right within the answer box, the userdevice may present a subsequent card in the answer box. If the userdevice detects a swipe from right to left within the answer box, theuser device may present a previous card in the answer box.

The particular cards that are provided for presentation in an answer boxmay be selected, in part, based on a category for the query 109. Forexample, cards that are provided for presentation in response to a querythat has been classified as a weather query may include an initial cardthat presents current weather, e.g., weather conditions at the time ofthe query, in a particular location, e.g., a location specified in thequery or other location data received with the query, and additionalcards for presenting a five day forecast, an hourly forecast, and pastweather information. Similarly, cards that are provided for presentationin response to a query that has been classified as a finance query mayinclude an initial card that presents a chart that illustrates financialinformation, such as a stock performance chart, and/or other informationabout a financial security that is specified in the query.

The category for a query 109 can be determined, for example, based on aquery-category mapping that specifies one or more categories to whicheach query in a set of queries has been categorized. For example, thequery category mapping may specify that a query that includes the phrase“current temperature” maps to the category of weather queries.Similarly, the query mapping may specify that a query that matches astock symbol for a stock that is traded on a stock exchange maps to thecategory of finance queries. A query-category mapping can be created,for example, using query similarity measures, e.g., cosine similaritymeasures, clustering techniques that create clusters of queries on aper-category basis, or other query categorization techniques, forexample, hierarchical term mappings that specify hierarchicalrelationships between phrases.

As described above, the search system 110 provides an initial card forpresenting the initial content on the search results page 114 when thesearch results page 114 is initially presented on the user device 106.This initial content may be general information that attempts to answerthe user's query. Additional cards may also be provided for presentingadditional content.

The additional content may be broader than the initial content or morespecific than the initial content. For example, an initial card for aquery directed to a particular stock may include a quote for the stock,recent pricing information for the stock, and news regarding the companythat issued the stock. A more specific card may include additionalinformation regarding the stock, such as average volume for the stockand a market cap for the stock. A card having broad content may includeinformation regarding one or more stock market indices.

The additional content may provide information that the user is likelyto request later. For example, the additional content for a querydirected to movie times at a particular theater may include reviews foreach movie showing at the theater. If the user finds a movie of interestat the theater, the user may want to view reviews of the movie.

The additional content can be selected, for example, based on ananalysis of query logs to identity types of information that users oftenrequest following a particular query. For example, if at least athreshold number of users that submitted a query for times at which aparticular movie is playing subsequently submitted queries requestingreviews for the particular movie, then the additional content for themovie time query may include the review information.

The user can navigate between cards by interacting with the answer box.In some implementations, the answer box presents a link to each card ofthe answer box. In some implementations, the answer box include forwardand back links that enable the user to navigate between cards. In someimplementations, the user device 106 is configured to navigate betweencards in response to detecting a user “swipe.” When a card is selected,the content of the selected card can replace the content of the previouscard within the answer box.

In some implementations, the search system 110 transmits both theinitial content and the additional content for an answer box at or closeto the same time. For example, the user device 106 may establish atemporary communication channel over a mobile communications network,e.g., a cellular network, and during this temporary connection, thesearch system 110 can transmit both the initial content and theadditional content to the user device 106 along with other searchresults 111. Regardless of how the content is transmitted to the userdevice 106, the additional content can be provided to the user device106 prior to the user requesting the additional content. This enablesthe user device 106 to provide the additional content quickly andwithout initiating a request for the additional content from the searchsystem 110 or another web resource.

The search system 110 may specify the size of an answer box based on oneor more factors. For example, an answer box may be sized similar toother search results 111 on a search results page 114, larger or smallerthan other search results 111, or to fill the display area of a searchresults page 114 or of the user device 106 at which the answer box ispresented.

In some implementations, the search system 110 determines how to size ananswer box based on a confidence measure. The confidence measure may bea value indicative of a likelihood that the content for the answer boxis responsive to the query 109. In some implementations, the confidencemeasure is based on scores related to the content for the answer box,such as information retrieval (“IR”) scores. For example, the confidencemeasure for a video answer box may be based on IR scores for each videoidentified for the answer box. The confidence measure may be based on asum, average, weighted average, or other combination of individualscores for the answer box content. For example, an initial video for avideo answer box may be weighted more heavily than additional videos ina weighted average calculation.

In some implementations, the confidence measure can be based on theamount of content and/or the number of cards identified for the answerbox. For example, if a large amount of content is identified for theanswer box, then it may be more likely that the content, or a portionthereof, is responsive to the query 109. For purposes of illustration,assume that one card is available for presentation in response toqueries that have been identified as requesting information about“Unknown Actor”, while five cards, e.g., one card for each of fivedifferent categories of information, are available for presentation inresponse to queries that have been identified as requesting informationabout “Famous Singer”. In this example, the confidence measure for“Famous Singer” may be higher than the confidence measure for “UnknownActor”.

If the confidence measure exceeds a threshold, the search system 110 mayspecify that the answer box fill or substantially fill the searchresults page 114. By filling the search results page 114 with the answerbox, the search system 110 can provide the content deemed most relevantto the search query 109 in a format that is more easily viewed by theuser. If the confidence measure does not exceed the threshold, thesearch system 110 may specify that the answer box be displayed at aparticular location of a search results page 114 and/or with othersearch results 111 for the query 109. For example, the answer box may bepresented at the top, or bottom, of the search results page 114 above,or below, the other search results 111 presented in the page or in asearch result location between other search results 111, e.g., in themiddle of the page.

The search system 110 may determine how to size an answer box based onthe user device 106 at which the answer box will be presented. Forexample, the search system 110 may specify that answer boxes for mobiledevices, such as smart phones, be sized to fill or substantially fillthe search results page 114. As the display of mobile devices aretypically small compared to non-mobile computing systems, sizing ananswer box to fill all or most of the small display makes it easier fora user to view and interact with content presented by the answer box.

The search system 110 may also customize answer boxes for particularusers, based, for example, on user identifiers that are associated withthe users. For example, a user may have an account with the searchsystem 110 that enables the user to specify user preferences and receivecustomized information. When the user is logged into their account, thesearch system 110 can identify the user identifier for the user andcustomize answer boxes based on the information that is associated with,e.g., indexed according to and/or stored with a reference to, the useridentifier.

An example of user identifier customizations includes customizing thecards that are available for presentation in an answer box that isprovided in response to a query that is associated with the useridentifier. The type of cards and number of cards included with ananswer box may be determined based on user identifier. For example, someusers may prefer few cards having general content while other users mayprefer many cards, with some of the cards having very specificinformation.

In some implementations, for users that have created an account, thesearch system 110 can log interaction information for user identifiersin a user profile data store 124 and use the logged information todetermine the type of content and number of cards to provide for theuser identifiers. The logged interaction information can include, forexample, information identifying the cards that a user has previouslyselected and other interactions with answer boxes.

In some implementations, the users are given the option to specify thenumber of cards, the type of cards, and/or the type of content desired.A user may be given the option to select from available cards for one ormore categories of cards. For example, a user may select, for weatheranswer boxes, a card for viewing general weather information in thelocation of the user device, or another user specified location, and acard for viewing a three day forecast for that area.

In some implementations, answer boxes are implemented using a markuplanguage for a web page, such as a Hypertext Markup Language (HTML). Forexample, answer boxes may be implemented using HTML5. Some markuplanguages, such as HTML5 allow for local storage of content, such as forlocal storage of the additional content for an answer box. Thisadditional content can be hidden from view until requested by the user.

FIG. 2A is a screenshot of an example search interface 200 in which aninteractive answer box 210 is presented. The search interface 200 can bepresented at a user device, such as a mobile phone or tablet computingdevice. The search interface 200 includes a query entry field 204 inwhich a user can enter a search query 206. The search interface 200 alsoincludes a search initiation element 208 with which the search query 206can be submitted to the search system 110. For example, in response touser interaction with the search initiation element 208, the user devicecan submit a search query 206 to the search system 110 as describedabove with reference to FIG. 1.

The search interface 200 also includes an answer box 210 and searchresults 230 a and 230 b. The answer box 210 and the search results 230 aand 230 b are search results that have been received from a searchsystem, such as the search system 110, in response to the submission ofthe search query 206. Although one answer box 210 and two search results230 a and 230 b are illustrated in the example search interface 200,other numbers of answer boxes and search results may be presented by asearch interface 200.

The answer box 210 and the search results 230 a and 230 b are eachpresented in a separate search result location so that each searchresult is independently identifiable from other search results. A searchresult location is a portion of a search results page in which aparticular search result is presented. For example, the answer box 210is presented in a search result location that is bounded by the dashedline 212. The dashed line 212 is a conceptual representation of thesearch result location in which the answer box 210 is presented and hasa perimeter that bounds the answer box 210. In some implementations,content presented by the answer box 210 does not breach the borders ofits search result location.

The perimeter of particular search result locations can be presented ona search results page, e.g., through shading or highlighting of the areawithin the perimeter, or the perimeter of the particular search resultlocation may be implemented in a manner such that the perimeter is notpresented on the search interface 200 or on a search results page 114.Note that the area enclosed by the perimeter of a search result locationcan be the same as, or larger than, the area of the search result thatis presented in the search result location.

The example answer box 210 includes a card 211 a having weather contentresponsive to a search for “Atlanta weather.” In particular, the card211 a includes a title 214 a, an image 216 indicative of current weatherconditions, textual content 218 describing the current weatherconditions, and future forecast elements 220 that present several daysof weather forecasts. The answer box 210 also includes card links 222and web links 224.

Each web link 224 includes a link to a resource, such as a web page. Forexample, the web link 224 a includes a link to“example.com/exampleweathersite/atlanta/html.” If the user devicedetects a selection of a web link 224, the user device can request theresource to which the selected web link 224 is linked. For example, inresponse to the link 224 a being selected, the user device 106 mayrequest the web page hosted at“example.com/exampleweathersite/atlanta/html” and present the web pagewhen it is received. Thus, selection of a web link 224 can cause theuser device to present the web page in place of the search results page.

The card links 222 enable a user to navigate between available cards forthe answer box 210. For example, several cards that each have contentresponsive to the search query 206 may be transmitted to the userdevice. The user can select a card, for example by clicking or tappingon a card link 222, and content for the selected card can be presentedin the answer box 210. A card link 222 for a card that is currentlybeing presented by the answer box 210 can be highlighted to indicate tothe user which card is being presented. For example, the card link 222 afor the card 211 a is highlighted in FIG. 2A to indicate that the card211 a referenced by the card link 222 a is currently being presented. Ifthe card link 222 b is selected, the card referenced by the card link222 b may be presented in place of the card 211 a and the card link 222b may be highlighted.

As discussed above, content for an answer box may be provided to a userdevice 106 prior to a request for the content. For example, each cardmay be provided to the user device 106 in response to receiving thesearch query 206. One of the cards may include initial content, and eachother card may include additional content that the user can request. Forexample, the card 211 a may include initial content, such as the image216, the textual content 218, and the future forecast elements 220. Thiscontent provides general content that answers the user's query for“Atlanta weather.”

Other cards may provide different types of content relevant to thesearch query 206. For example, with reference to FIG. 2B, the card 211 bincludes a five day weather forecast for Atlanta. In particular, thecard 211 b includes a title 214 b for the card 211 b and future forecastelements 240 for the next five days. This card 211 b may be presented,for example, in response to receiving a selection of the card link 222 bwhile another card, such as the card 211 a presented in FIG. 2A, ispresented. Thus, selection of the card link 222 b while the card 211 ais presented can cause the card 211 b to replace the card 211 a in theanswer box 210.

The answer box 210 can include a card region for presenting the cards211. For example, the card region may be the region of the answer box210 above the dashed line 213. Content for each card may be presented inthe card region of the answer box 210, which is above the dashed line213, while the web links 224 and the card links 222 are presented in alink region that is below the dashed line 213. When another card isselected, content for the selected card can replace the previous card inthe card region above the dashed line 213, while the card links 222 canremain presented in the link region below the dashed line 213. Thedashed line 213 is for reference only and may or may not be depicted ata user device 106.

FIGS. 2C and 2D illustrate another card 211 c for a search query 206directed to weather. This card 211 c can be presented, for example, inresponse to a user selection of the card link 222 c. With reference toFIG. 2C, the card 211 c includes a title 214 c for the card 211 c, animage 243 indicative of weather conditions, textual content 245describing the weather conditions, and a time selector tool 260.

The time selector tool 260 is an interactive user interface element thatenables a user to select a particular time for which the weatherforecast or past weather information is presented. This weatherinformation can be presented using the image 243 and/or the textualcontent 245. For example, the image 243 indicates a partly cloudycondition and the textual content 245 further indicates that thetemperature is 47° F. and the humidity is 65% for the selected time of9:00 AM.

The user can request weather information for another time by moving aselection window 265 along a timeline 263 to a desired time, or byselecting either the “<<” link or the “>>” link. The user can move theselection window 265 by selecting the selection window 265 using a mouseand moving the mouse in the desired direction along the timeline 263.Or, for touchscreen devices, the user may touch the touchscreen at theselection window 265 using a finger or stylus and move their finger orstylus in the desired direction. The user can select the “>>” to moveforward in time, and select the “<<” link to move backwards in timealong the timeline 263. Although the example timeline 263 is for timesof a day, other answer boxes or cards for an answer box may include atimeline for days of a week or other time periods.

In response to detecting that the selection window 265 has been moved toa different location on the timeline 263, the user device 106 canidentify and present weather information for the time corresponding tothe updated location of the selection window 265. For example, if theupdated time is in the future, the user device 106 can identify weatherforecast information for the updated time and update the image 243 andthe textual content 245 based on the identified weather forecastinformation. If the updated time is a historical time, then the userdevice 106 can identify actual weather information for the updated timeand update the image 243 and the textual content based on the actualweather information for that time. This weather information may bereceived prior to the request for presentation of the information. Forexample, the additional information may be received when the answer box210 is initially received by the user device 106, such that the answerbox 210 can be updated to present requested information withoutinitiating a request for the information from another resource.

With reference to FIG. 2D, the answer box 210 has been updated to showthe weather forecast for Atlanta at 8:00 PM. In particular, the image243 and the textual content 245 have been updated to indicate theweather forecast for 8:00 PM. For example, the image 243 now depicts amoon rather than a partly cloudy/partly sunny sky. In addition, thetextual content 245 indicates, in part, that the temperature isforecasted to be 51° F. at approximately 8:00 PM.

In some implementations, the user device 106, or another data processingapparatus, can be configured to change other characteristics of contentthat is presented in an answer box, for example based on userinteraction with the answer box and/or based on the content selected forpresentation in the answer box. For example, the user device 106 may beconfigured to change the background color or shading based on the timeor weather information.

In some implementations, the user device 106 may evaluate weatherinformation that is to be presented by the answer box and select abackground color or image to present based on the weather information.For example, the user device 106 may determine whether the weatherinformation specifies sunny conditions, e.g., through inclusion of animage of the sun being included in the weather information, or whetherthe weather information specifies cloudy or rainy conditions, e.g.,through inclusion of an image of clouds or rain drops being included inthe weather information.

When the user device 106 determines that the weather informationspecifies sunny conditions, the user device 106 can select and provide abright or light background for the answer box, or a card presented inthe answer box. When the user device 106 determines that the weatherinformation specifies cloudy or rainy conditions, the user device 106can select or provide a dark or dull background for the answer box.

The user device 106, or another data processing apparatus, may also beconfigured to identify the time of day for weather or other informationthat is to be presented by the answer box and select a background colorfor the answer box based on the identified time of day. For example, theuser device 106 may determine the current time of day using an internalclock of the user device 106, or using data such as a timestamp that isincluded in data received by the user device 106. Using the time of day,the user device 106 can select and provide a light blue background forthe answer box during daytime hours, e.g., at times after sunrise andprior to sunset at the location of the user device 106, and/or a darkerblue background for the answer box during nighttime hours, e.g., attimes after sunset and before sunrise at the location of the user device106. The user device 106 may also select the background based on acombination of time of day and weather information. For example, theuser device 106 may select a dark blue background for daytime hours whenthe weather information indicates rain.

The user device 106, or another data processing apparatus, may also beconfigured to identify the phase of the moon for a time period ofweather information and adjust moon images based on the phase of themoon. For example, the user device 106 may access information specifyingthe phase of the moon for the location of the user device at differenttimes of the year. Using the accessed information, the user device 106can determine the phase of the moon for the time period, e.g., the dayfor which weather information is to be presented. In turn, the userdevice 106 can select and provide moon images for one of a full moon,new moon, or a quarter moon phase, based on the time period for whichweather information that is to be presented by the answer box.

In some implementations, the search system 110 provides data to the userdevice 10, for example along with the answer box, that causes the userdevice 106 to change the characteristics of the answer box based ontime, weather conditions, or moon phases as described above. Forexample, the data may cause the user device 106 to identify the relevantinformation, e.g., time, weather, and/or moon phase, and adjust thecharacteristics, e.g., image shown, background color, etc., based on theidentified information.

FIG. 3 is a screen shot of another example search interface 300 in whichan interactive answer box 310 is presented. The search interface 300includes a query entry field 304 in which a user can enter a searchquery 306 and a search initiation element 308 with which the searchquery 306 can be submitted to the search system 110. The searchinterface 300 also includes an answer box 310 and search results 330 aand 330 b.

The example answer box 300 is provided in response to a search query 306for “example stock.” The answer box 310 includes a card 311 thatincludes relevant content for the example stock, web links 324, and cardlinks 322.

The card 311 includes a title 340, a chart 344 depicting historicalpricing information for the example stock, and textual content 348specifying recent pricing information for the example stock. Othercontent that may be included in an answer box 310 for a search querydirected to stocks or other types of securities may include currentmarket conditions and news for the company that issued the stock to namea couple of examples. If the user that submitted the search query 306has an account with the search system 110 and is logged into theaccount, an answer box for a query directed to a stock or other securitymay also include content related to the user's portfolio, such as atotal value, gains or losses, and/or news relevant to the user'sportfolio.

The chart 344 enables the user to select a time period for which todisplay pricing information. For example, the chart includes a “>>” linkthat, when selected, causes the user device 106 to update the chart 344with pricing information for a later time period. For example, inresponse to detecting user interaction with the “>>” link, the userdevice 106 can select pricing information for a time period following 4pm and replace at least a portion of the information presented in thechart 344 with the selected information.

The chart 344 also includes a “<<” link that, when selected, causes theuser device 106 to update the chart 344 with pricing information for anearlier time period. For example, in response to detecting userinteraction with the “<<” link, the user device 106 can select a pricinginformation for a time period prior to 10 am and replace at least aportion of the information presented in the graph 344 with the selectedpricing information.

As described above, when one of the links “<<” or “>>” are selected, theuser device 106 can access pricing information for the appropriate timeperiod and update the chart 344 accordingly. Additionally, oralternatively, the chart 344 could include a time bar including a sliderthat enables a user to select a period of time for which pricinginformation is to be presented. In response to detecting userinteraction with the slider, the user device 106 can determine a timeperiod for which pricing information is to be presented, e.g., based ona position of the slider bar on the time bar, and access the pricinginformation for presentation in the chart 344. The pricing informationthat is accessed by the user device 106 can be pricing information thatwas previously downloaded and stored on the user device 106, forexample, when the search results 330 a and 330 b were previouslyreceived. Thus, the additional pricing information can be accessed frommemory within the user device 106 without initiating another request forpricing information from a web resource.

In some implementations, the content presented by cards of a financialsecurity answer box can be selected by a user. For example, the cardreceived from the search system 110 may provide a user interface thatenables a user to select certain stocks for receiving pricinginformation. This pricing information may be provided in an answer boxcard when a financial security answer box is provided to the user. Forexample, if the user submits a query for “example stock,” the searchsystem 110 may determine that the query is related to a financialsecurity, e.g., using query categorization techniques, and determinethat a financial security card should be presented in the answer box inresponse to the query. In turn, the search system 110 may select afinancial security answer box cards for presentation in the answer box.

For example, the search system 110 may select an initial card forpresenting general content related to the query “example stock” and anadditional card for presenting pricing information related to the query“example stock.” The search system 110 may also identify content forpopulating the cards for the selected answer box, including the generalcontent for the initial card and pricing information for the additionalcard. The pricing information may include pricing information for aninitial time period that may be presented when the additional card ispresented and pricing information for additional time periods that maybe presented in response to a user interaction with the answer box. Thesearch system 110 may provide the selected answer box, cards, generalcontent and pricing information to the user device 106 for presentationto a user.

FIG. 4 is a screen shot of another example search interface 400 in whichan interactive answer box 410 is presented. The search interface 400includes a query entry field 404 in which a user can enter a searchquery 406 and a search initiation element 408 with which the searchquery 406 can be submitted to the search system 110. The searchinterface 400 also includes an answer box 410 and search results 430 aand 430 b.

The example answer box 410 is provided in response to a search query 406for a “college football videos.” The answer box 410 includes a title 414for the answer box 410, a video 450 having controls 452, textual content454 describing the video 450, and additional videos 470 that can bepresented in the answer box 410 without navigating away from the searchinterface 400.

A user can view and control play of the video 450 in the answer box 410.For example, the controls 452 include a volume control, a play icon, apause icon, a rewind icon, and a fast forward icon. The user can controlthe play of the video using the controls 452. For example, the userdevice 106 may be configured to adjust the volume of the video 450 inresponse to the receiving an adjustment to the volume control. By way ofanother example, the user device 106 may also start and pause a video inresponse to receiving a selection of the play icon and pause icon,respectively.

The user can also access the other videos 470 by selecting the videos470. For example, in response to the user selecting a video, the video450 may be replaced by the selected video. The video 450 and theadditional videos 470 may be received by the user device 106 when asearch results page that includes the search interface 400 is received,such that the videos 470 may be presented without initiating a requestfor the video from another resource in response to selection of thevideo in the answer box 410. For example, the video and the additionalvideos 470 may be stored on the user device 106.

FIGS. 5A-5D are screen shots of another example search interface 500 inwhich an interactive answer box 510 is presented. The search interface500 includes a query entry field 504 in which a user can enter a searchquery 506 and a search initiation element 508 with which the searchquery 506 can be submitted to the search system 110.

The example answer box 510 and several search results 530A-530B areprovided in response to a search query 506 for “Famous Singer.” Theanswer box 510 includes content such as a title 540, an image 541 of“Famous Singer” and textual content 542 regarding “Famous Singer.” Thecontent that is presented together in the answer box 510 is collectivelyreferred to as a “card” or “information card” that is presented in theanswer box 510, and can be indexed to a same card identifier.Information that is grouped together to form a card can be grouped basedon an information category, e.g., biographical information, locationinformation, historical information, news, images, or other categoriesof information, to which the information belongs.

Cards that are available for presentation in answer boxes, such asanswer box 510, may be presented in response to queries for a particularconceptual entity, such as a person, place, country, landmark, animal,historical event, organization, business, or sports team. In general,answer boxes for single conceptual entities include content that hasbeen identified as relevant to the entity. For example, the cardpresented in the answer box 510 includes the image 540 of “FamousSinger” and the textual content 542 that includes general informationabout “Famous Singer.”

Cards for a single conceptual entity can be selectively presented tosequentially provide different types of content regarding the entity.For example, an initial card may be presented in the answer box 510 andprovide general content, such as an image and brief textual contentregarding the entity, similar to the information presented in exampleanswer box 510. Additional cards may include more specific, or moregeneral, information, images, videos, audio, maps, or other content andmay depend on the type of entity. For example, the search system 110 maymaintain one or more templates for each type of entity for which answerboxes are provided. Each template may include a particular type ofcontent, such as images or videos.

Cards for a person, such as “Famous Singer,” can include a card havingbiographical information, such as birth date, birth place, personalfacts, career highlights, awards, works of art, and/or a list ofcredits, e.g., movie credits. Another card for a person may includeimages of the person or images associated with the person. If the personis a musician or singer, a card for the person may include an audioplayer that enables the user to stream music composed by the person. Ifthe person is an actor, a card for the person may include videosassociated with the person, and/or a list of movie and/or televisionshow credits for the person. Different types of information can bepresented on different cards so that the information on a particularcard can all be a particular type of information, e.g., images.

Cards for a place or country may include cards that include one or moreimages of the place of landmarks associated with the place, a map of theplace, a description of the place, facts about the place, a listing ofrelated queries. Cards for a business may include cards that include animage or company logo associated with the business, a description of thebusiness, images of products or services offered by the business, a mapto the business, information about and/or images of the leaders of thebusiness, and/or stock pricing information if appropriate.

In some implementations, the answer box 510 initially presents a “noticecard” 550, as illustrated by FIG. 5B. The notice card 550 is a card thatinforms a user that additional information is available for presentationwithout navigating away from the search interface 500. For example, thenotice card 550 can again include the title 540 and an image 541 of“Famous Singer”. However, instead of including the textual information542, as illustrated by FIG. 5A, the notice card 550 may include a listof other cards 551 that are available for presentation in the answer box510. For example, the notice card 550 includes the list of other cards551 specifying that a “summary” card, a “songs” card, and an “images”card are available for presentation in the answer box 510. The noticecard 550 can be presented in a smaller answer box 510 than other cards,e.g., summary, songs, or images cards, are presented, thereby leavingmore space for other search results until a user expresses interest inviewing information in the answer box 510.

In some implementations, a user can express interest in viewinginformation in the answer box 510 by interacting with the answer box510. For example, a user may “tap,” or click, or otherwise select, alocation in the answer box to request presentation of information in theanswer box. In response to user interaction with the answer box 510, theanswer box 510 can expand to present additional content for a card.

In some implementations, the answer box 510 can expand in response to a“tap” or “click” within the answer box 510 or at an icon within theanswer box 510. For example, the user device 106 can determine that auser “tap” has occurred when the user device 106 determines that apointer has engaged a touch screen interface at a particular location,e.g., within the answer box 510, and disengaged the touch screen withina threshold distance of the particular location, e.g., at the sameparticular location or within a specified number of pixels from theparticular location.

When a user tap or click occurs within the answer box 510, the userdevice 106 can expand the answer box 510 to reveal additional ordifferent content. For example, with reference to FIG. 5C, the answerbox 510 has expanded and the initial content presented in the answer box510, i.e., the notice card 550, has been replaced with the summary card552. The summary card 552 again includes the title 540, the image of“Famous Singer” 541, and further includes textual information 553 about“Famous Singer.” When the answer box 510 is expanded, the other searchresults 530A-530C may be shifted down the display, and/or the answer box510 can be expanded to fill the entire display such that the othersearch results 530A-530C are moved off of the visible page, e.g., to apage location that is below the bottom of the current display. When theother search results 530A-530C are moved off of the display, the usercan still scroll down the page to cause the search results to again bepresented.

In some implementations, a card can also include information about othercards that are available for presentation. For example, the card 552includes a “card count” element 554 indicating that additional cards areavailable for presentation. For example, the card count element 554indicates that three cards are available for presentation by presentingthree boxes at the bottom of the card 552. The card count element 554can also indicate the relative position of the card 552 that is beingpresented. For example, the card count element 554 includes a shaded box555 indicating that the user is currently viewing a first card, assumingthat order is determined from left to right, and that there are twoother cards available to the right of the card 552, e.g., as indicatedby the two non-shaded boxes. The card 552 also includes a next cardelement 556 that indicates a card type for the next card that isavailable for presentation.

To view the additional cards in the answer box 510, the user may tap thenext card element 556 or perform a swipe across the answer box 510. Forexample, in order to view the next card to the right of the card 552,the user can swipe across the answer box 510 in the direction of arrow557. In response to detecting a swipe within the answer box 510 and inthe direction of the arrow 557, the user device 106 may replace thesummary card 552 with an image card 560 that includes several images 561of “Famous Singer.” As illustrated in FIG. 5D, when the image card 560is presented, the card count element 554 can be updated to indicate therelative position of the image card 560, e.g., among all availablecards. For example, the box 562 has been shaded to indicate that theimage card 560 is a second card in the available cards, while the twounshaded boxes indicate that there is an available card to the left ofthe image card 560 and an available card to the right of the image card560.

The image card 560 also includes next card elements 563 and 564. Thenext card element 563 indicates that the summary card 552 is to the leftof the image card 560 and that the songs card, e.g., a card thatincludes a list of songs recorded by “Famous Singer,” is to the right ofthe image card 560. As described above, a user can request presentationof the summary card or the songs card by interacting with, e.g.,“tapping,” the next card elements 563 or 564, respectively.Additionally, detection of a user swipe in the direction of arrow 565can cause the user device to present the songs card, while detection ofa user swipe in the direction of arrow 566 can cause the user device toagain present the summary card 552. Thus, detection of a user swipe willcause the image card 560 to be replaced by one of the other availablecards without navigating away from the search results page, e.g.,without submitting a resource request over the network.

FIG. 6 is a flow chart of an example process 600 for presenting contentin an interactive answer box. A query 109 is received at a user device,such as the user device 106 of FIG. 1 (602). For example, a user mayenter the query 109 in a query entry field of a search interface. Querydata specifying the received query 109 is sent from the user device 106to the search system 110 (604).

The search system 110 generates result data that specifies searchresults 111 and at least one answer box (606). For example, the searchsystem 110 may identify the received search query 109 as an appropriatequery for providing an answer box. The search system 110 may identifyresources relevant to the received query 109, generate search results111 that reference the identified resources, and include the searchresults 111 in the result data. The search system 110 may also identifycontent for presenting in the answer box and include the content withthe result data.

As discussed above, the content for the answer box may include initialcontent and additional content. The search system 110 may specify whichof the identified content for the answer box is initial content andwhich of the identified content is additional content in the resultdata. The search system 100 may also identify cards and/or templates forthe answer box. The cards may be selected based, at least in part oninformation that is associated with a user identifier for the user thatsubmitted the query 109.

The result data may also include data specifying the presentation formatfor the search results 111 and the answer box. For example, the searchsystem 110 may specify that the answer box is to be presented at the topof the search results page 114 and the search results 111 are to bepresented below the answer box based on rank. Or, the search system 110may specify that the answer box is to fill at least a threshold portion,e.g., 90% or 100%, of the search results page 114 or the display of theuser device 106. An example process for generating result data isillustrated in FIG. 7 and described below.

The result data is received at the user device (608). For example, thesearch system 110 may transmit the result data to the user device 106from which the query 109 was submitted. The result data can include theinitial content for the answer box, the additional content for theanswer box, the search results 111, and the data specifying thepresentation of the search results 111 and the answer box.

A determination is made whether to fill at least a threshold portion ofthe search results page 114 or display (610). For example, the userdevice 106 may identify the data specifying the presentation of thesearch results 111 and answer box and determine how to size the answerbox based on the data. If the user device 106 determines that the answerbox should fill the threshold portion of the search results page 114 ordisplay, the user device 106 sizes the answer box in a manner such thatthe answer box fills at least the threshold portion of the searchresults page 114 or display (612).

If the user device 106 determines that the answer box should not fillthe threshold portion of the search results page 114 or display, theuser device 106 presents the search results page with the answer box asa search result position (614). For example, the answer box may bepresented at the top of the search results page 114 and above the searchresults 111.

Regardless of how the answer box is sized, the answer box can presentinitial content as specified by the search system 110. For example, theanswer box may present an initial card having the initial content. Theanswer box may also present one or more presentation control userelements, for example if the template for the answer box includes apresentation control user element.

A determination is made whether user interaction with the answer box hasoccurred (616). In some implementations, the user interaction is a userinteraction that is indicative of a request for additional content. Forexample, the user interaction may be a selection of a card linkpresented in the answer box. By way of another example, the userinteraction may be a user interaction with a presentation controlelement, such as a slider bar.

In some implementations, the user interaction that is indicative of auser request for additional content is a user swipe within the answerbox. The user swipe can be determined to have occurred in response todetecting a pointer at multiple locations along a path that extendsbetween two display points within the answer box, where at least two ofthe multiple locations at which the pointer has been detected are atleast a threshold distance apart.

In some implementations, the user interaction is a user interaction forcontrolling content presented in the answer box. For example, the userinteraction may be receiving a selection of a play control icon for avideo or a volume adjustment for the video.

Content is presented according to the user interaction (618). If theuser interaction is indicative of a request for additional content, theuser device 106 can identify the additional content and present theadditional content within the answer box, for example without initiatinga request from another resource. For example, the additional content maybe stored on the user device 106 after being received with the resultdata. The user device 106 can locate the additional content and updatethe answer box to present the additional content. In someimplementations, the user device replaces the initial content with theadditional content. For example, the user device 106 may replace aninitial card having the initial content with another card having theadditional content requested by the user, as described in detail above.

If the user interaction is a user interaction for controlling thecontent, the user device 106 can condition the presented content basedon the user interaction. For example, if the user interaction is arequest to play a video, the user device 106 may access the videocontent and stream the video in the answer box. If the user interactionis an adjustment to the volume of a video, the user device 106 maycondition the volume of the video according to the user interaction.

FIG. 7 is a flow chart of an example process 700 for generating ananswer box. Query data defining a query 109 is received (702). Forexample, a user device 106 may transmit the query data to the searchsystem 110. The query data can specify the query 109 and optionally auser identifier. For example, the query data may include a useridentifier for a user if the user is logged into an account with thesearch system 110. In some implementations, the query data may includeinformation identifying the type, e.g., mobile or non-mobile, of devicethat submitted the query 109.

Search results 111 are identified (704). For example, the search system110 may identify resources that are relevant to the query 109 andgenerate search results 111 for resources having at least a thresholdrelevance score for the query 109. The relevance score for each resourcemay be based on an IR score for the resource, for example. The searchsystem 110 may also rank or order the search results 111 based on therelevance scores for the resources that they reference.

A determination is made whether to provide an answer box in response tothe query (706). For example, the search system 110 may determinewhether to provide an answer box for the query 109. In someimplementations, the search system 110 determines whether to provide ananswer box based on a type of query 109 that has been received. Forexample, the search system 110 may provide answer boxes for queries thathave been identified as informational queries, but not for queries thathave been identified as navigational queries.

In some implementations, the search system 110 may determine whether toprovide an answer box based on user profile information for the receiveduser identifier. For example if the user rarely interacts with answerboxes as indicated by the user profile for the user, the search system110 may determine not to provide an answer box for queries submitted bythat user.

If a determination is made to provide an answer box, content for theanswer box is identified (708). For example, the search system 110 mayidentify content to provide in the answer box. The search system 110 canidentify the content based, in part, on the category for the query 109.The category for the query 109 is a classification of content for thequery and can be determined based on text in the query 109 or otherconventional techniques, e.g., clustering techniques, as describedabove. Example categories for queries include weather, financialsecurity information, audio, video, people, places, landmarks, animals,and show times, e.g., movie listings, to name a few. By way of example,if a query 109 includes the text “weather in . . . ,” the search system110 may categorize the query 109 as a weather query.

The search system 110 may have one or more answer box templates for eachof a set of query categories. Each template may present certain types ofcontent, such as images, text, and/or videos. Based on the template forthe answer box, the search system 110 can identify appropriate contentfor populating the template.

The search system 110 also identifies the content for the answer boxbased on the query 109 itself. For example, the search system 110identifies content that is relevant to the query 109 and conforms to thetemplate for the answer box. If the query 109 is for “weather in NewYork” and the template includes an image of current weather conditionsfor a particular location, the search system 110 can identify thecurrent weather in New York and identify an image that corresponds tothe current weather conditions in New York. For example, the searchsystem 110 may identify this content in the search index 112 or at aweather web site.

If an answer box includes multiple cards, the search system 110 canidentify content for each of the cards in a similar manner. For example,the answer box may include cards for information that the user may laterrequest, such as weather forecasts for a later time or an hourlyforecast having additional weather details. This search system 110 canidentify weather forecast information for the additional cards.

Content for the answer box is obtained (710). For example, the searchsystem 110 may request the identified content for the answer box. Insome implementations, the content for an answer box may be obtained fromone or more web sites.

A determination is made how to size the answer box (712). For example,the search system 110 may determine how to size the answer box based ona confidence measure that indicates a likelihood that the content forthe answer box is responsive to the query 109. If the confidence measureexceeds a threshold, the search system 110 may specify that the answerbox is to be sized in a manner that the answer box fills at least athreshold portion of a search results page 114 or a display of a userdevice that submitted the query 109. If the confidence measure does notexceed the threshold, the search system 110 may specify that the answerbox be sized similar to the search results 111.

In some implementations, the search system 110 determines how to size ananswer box based on the type of device from which the query 109 wassubmitted. For example, the search system 110 may determine that ananswer box for a mobile device be sized in a manner that the answer boxfills at least a threshold portion of a search results page 114 or adisplay of a user device 106 that submitted the query 109. The searchsystem 110 may determine that an answer box for a non-mobile device besized similar to the search results 111.

Result data defining search results are generated (714). For example,the search system 110 may generate result data specifying the identifiedsearch results 111 and an answer box if an answer box is to be provided.The result data may include the identified search results 111, a rankingfor the identified search results 111, a template and/or cards for theanswer box, content for populating the answer box, and informationspecifying how the answer box should be sized.

In some implementations, the result data includes data that causepresentation of initial content in the answer box, while preventingpresentation of additional content prior to user interaction with theanswer box. For example, the result data may include data that cause aninitial card to be presented in the answer box, while other cards mayonly be presented following user interaction with card links or a userswipe across the answer box.

FIG. 8 is block diagram of an example computer system 800 that can beused to perform operations described above. The system 800 includes aprocessor 810, a memory 820, a storage device 830, and an input/outputdevice 840. Each of the components 810, 820, 830, and 840 can beinterconnected, for example, using a system bus 850. The processor 810is capable of processing instructions for execution within the system800. In one implementation, the processor 810 is a single-threadedprocessor. In another implementation, the processor 810 is amulti-threaded processor. The processor 810 is capable of processinginstructions stored in the memory 820 or on the storage device 830.

The memory 820 stores information within the system 800. In oneimplementation, the memory 820 is a computer-readable medium. In oneimplementation, the memory 820 is a volatile memory unit. In anotherimplementation, the memory 820 is a non-volatile memory unit.

The storage device 830 is capable of providing mass storage for thesystem 800. In one implementation, the storage device 830 is acomputer-readable medium. In various different implementations, thestorage device 830 can include, for example, a hard disk device, anoptical disk device, a storage device that is shared over a network bymultiple computing devices, e.g., a cloud storage device, or some otherlarge capacity storage device.

The input/output device 840 provides input/output operations for thesystem 700. In one implementation, the input/output device 840 caninclude one or more of a network interface devices, e.g., an Ethernetcard, a serial communication device, e.g., and RS-232 port, and/or awireless interface device, e.g., and 802.11 card. In anotherimplementation, the input/output device can include driver devicesconfigured to receive input data and send output data to otherinput/output devices, e.g., keyboard, printer and display devices 860.Other implementations, however, can also be used, such as mobilecomputing devices, mobile communication devices, set-top box televisionclient devices, etc.

Although an example processing system has been described in FIG. 8,implementations of the subject matter and the functional operationsdescribed in this specification can be implemented in other types ofdigital electronic circuitry, or in computer software, firmware, orhardware, including the structures disclosed in this specification andtheir structural equivalents, or in combinations of one or more of them.

Embodiments of the subject matter and the operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Embodiments of the subject matterdescribed in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on computer storage medium for execution by, or tocontrol the operation of, data processing apparatus. Alternatively or inaddition, the program instructions can be encoded on an artificiallygenerated propagated signal, e.g., a machine-generated electrical,optical, or electromagnetic signal, that is generated to encodeinformation for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium canbe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate physical components or media, e.g., multiple CDs, disks, orother storage devices.

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program, also known as a program, software, softwareapplication, script, or code, can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data, e.g., one or more scripts stored in a markup language document,in a single file dedicated to the program in question, or in multiplecoordinated files, e.g., files that store one or more modules, subprograms, or portions of code. A computer program can be deployed to beexecuted on one computer or on multiple computers that are located atone site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storagedevice, e.g., a universal serial bus (USB) flash drive, to name just afew. Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto optical disks; and CD ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), an inter-network, e.g., the Internet, andpeer-to-peer networks, e.g., ad hoc peer-to-peer networks.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits data, e.g., an HTML, page, to a clientdevice, e.g., for purposes of displaying data to and receiving userinput from a user interacting with the client device. Data generated atthe client device, e.g., a result of the user interaction, can bereceived from the client device at the server.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular embodiments of particular inventions.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous.

1. (canceled)
 2. A method performed by data processing apparatus, themethod comprising: receiving, by a user device and in response tosubmission of a query with a first request over a network: a pluralityof search results responsive to the query; an answer box for the query;and content data defining display content for the answer box, whereinonly a subset of the display content is initially displayed in theanswer box, and the content data defining the display content is cachedat the user device; presenting, by the user device, the search resultson a search results page; presenting, by the user device, the answer boxin a search result location of the search results page, the searchresult location having a perimeter defining the search result location,the answer box displaying a first set of display content responsive tothe query that was submitted with the first resource request over thenetwork; determining, by the user device, that a user interaction withthe first set of display content displayed in the answer box hasoccurred; and in response to determining that the user interaction hasoccurred, presenting, by the user device, a second set of displaycontent in the in the answer box and within the perimeter of the searchresult location while maintaining presentation of the search results onthe search results page, the second set of display content beingselected from display content defined by the content data and beingdifferent from the first set of display content that was presented priorto the user interaction, the presentation of the second set of displaycontent being independent of submission of a second request over thenetwork subsequent to submission of the first request.
 3. The method ofclaim 2, wherein the display content is selected based on types ofcontent requested by users in follow-up queries that have followedsubmission of queries that reference an entity referenced by the query.4. The method of claim 2, wherein the display content comprises displaycards and the display cards are selected based on categories of previouscards with which a user associated with the user device has previouslyinteracted.
 5. The method of claim 2, further comprising: determiningthat the answer box is presented on a mobile device comprising a displayhaving a display area; and sizing the answer box in a manner that causesthe answer box to be presented over at least a threshold portion of thedisplay area.
 6. The method of claim 2, further comprising: determining,for the answer box, a confidence measure specifying a value indicativeof a likelihood that the display content for the answer box isresponsive to the query; determining that the confidence measure exceedsa confidence threshold; and in response to determining that theconfidence measure exceeds the confidence threshold, sizing the answerbox in a manner that causes the answer box to be presented over at leasta threshold portion of the display area in which the search results pageis presented.
 7. The method of claim 2, wherein: the interactive answerbox includes an interactive chart; determining, by the user device, thatthe user interaction with the first set of display content displayed inthe answer box has occurred comprises determining that a userinteraction with a control for updating the interactive chart withdifferent data has occurred; and presenting, by the user device, thesecond set of display content in the in the answer box comprisesupdating the interactive chart to present the different data.
 8. Themethod of claim 2, wherein: the query references weather information fora particular geographic location; the first set of display contentcomprises first weather information for the particular geographiclocation and for a first time period; determining, by the user device,that the user interaction with the first set of display contentdisplayed in the answer box has occurred comprises determining that auser interaction with a control for selecting a second time perioddifferent from the first time period; and presenting, by the userdevice, the second set of display content in the in the answer boxcomprises replacing the first weather information for the particulargeographic location and for a first time period with second weatherinformation for the particular geographic location and for the secondtime period.
 9. The method of claim 2, further comprising determining asize for the answer box base on a type of device for the user device andsizing the answer box on the search results page according to thedetermined size.
 10. A system, comprising: a data processing apparatus;and a memory storage apparatus in data communication with the dataprocessing apparatus, the memory storage apparatus storing instructionsexecutable by the data processing apparatus and that upon such executioncause the data processing apparatus to perform operations comprising:receiving, by a user device and in response to submission of a querywith a first request over a network: a plurality of search resultsresponsive to the query; an answer box for the query; and content datadefining display content for the answer box, wherein only a subset ofthe display content is initially displayed in the answer box, and thecontent data defining the display content is cached at the user device;presenting, by the user device, the search results on a search resultspage; presenting, by the user device, the answer box in a search resultlocation of the search results page, the search result location having aperimeter defining the search result location, the answer box displayinga first set of display content responsive to the query that wassubmitted with the first resource request over the network; determining,by the user device, that a user interaction with the first set ofdisplay content displayed in the answer box has occurred; and inresponse to determining that the user interaction has occurred,presenting, by the user device, a second set of display content in thein the answer box and within the perimeter of the search result locationwhile maintaining presentation of the search results on the searchresults page, the second set of display content being selected fromdisplay content defined by the content data and being different from thefirst set of display content that was presented prior to the userinteraction, the presentation of the second set of display content beingindependent of submission of a second request over the networksubsequent to submission of the first request.
 11. The system of claim10, wherein the display content is selected based on types of contentrequested by users in follow-up queries that have followed submission ofqueries that reference an entity referenced by the query.
 12. The systemof claim 10, wherein the display content comprises display cards and thedisplay cards are selected based on categories of previous cards withwhich a user associated with the user device has previously interacted.13. The system of claim 10, wherein the operations comprise: determiningthat the answer box is presented on a mobile device comprising a displayhaving a display area; and sizing the answer box in a manner that causesthe answer box to be presented over at least a threshold portion of thedisplay area.
 14. The system of claim 10, wherein the operationscomprise: determining, for the answer box, a confidence measurespecifying a value indicative of a likelihood that the display contentfor the answer box is responsive to the query; determining that theconfidence measure exceeds a confidence threshold; and in response todetermining that the confidence measure exceeds the confidencethreshold, sizing the answer box in a manner that causes the answer boxto be presented over at least a threshold portion of the display area inwhich the search results page is presented.
 15. The system of claim 10,wherein: the interactive answer box includes an interactive chart;determining, by the user device, that the user interaction with thefirst set of display content displayed in the answer box has occurredcomprises determining that a user interaction with a control forupdating the interactive chart with different data has occurred; andpresenting, by the user device, the second set of display content in thein the answer box comprises updating the interactive chart to presentthe different data.
 16. The system of claim 10, wherein: the queryreferences weather information for a particular geographic location; thefirst set of display content comprises first weather information for theparticular geographic location and for a first time period; determining,by the user device, that the user interaction with the first set ofdisplay content displayed in the answer box has occurred comprisesdetermining that a user interaction with a control for selecting asecond time period different from the first time period; and presenting,by the user device, the second set of display content in the in theanswer box comprises replacing the first weather information for theparticular geographic location and for a first time period with secondweather information for the particular geographic location and for thesecond time period.
 17. The system of claim 10, wherein the operationscomprise determining a size for the answer box base on a type of devicefor the user device and sizing the answer box on the search results pageaccording to the determined size.
 18. A non-transitory computer storagemedium encoded with a computer program, the program comprisinginstructions that when executed by a data processing apparatus cause thedata processing apparatus to perform operations comprising: receiving,by a user device and in response to submission of a query with a firstrequest over a network: a plurality of search results responsive to thequery; an answer box for the query; and content data defining displaycontent for the answer box, wherein only a subset of the display contentis initially displayed in the answer box, and the content data definingthe display content is cached at the user device; presenting, by theuser device, the search results on a search results page; presenting, bythe user device, the answer box in a search result location of thesearch results page, the search result location having a perimeterdefining the search result location, the answer box displaying a firstset of display content responsive to the query that was submitted withthe first resource request over the network; determining, by the userdevice, that a user interaction with the first set of display contentdisplayed in the answer box has occurred; and in response to determiningthat the user interaction has occurred, presenting, by the user device,a second set of display content in the in the answer box and within theperimeter of the search result location while maintaining presentationof the search results on the search results page, the second set ofdisplay content being selected from display content defined by thecontent data and being different from the first set of display contentthat was presented prior to the user interaction, the presentation ofthe second set of display content being independent of submission of asecond request over the network subsequent to submission of the firstrequest.
 19. The non-transitory computer storage medium of claim 18,wherein the display content is selected based on types of contentrequested by users in follow-up queries that have followed submission ofqueries that reference an entity referenced by the query.
 20. Thenon-transitory computer storage medium of claim 18, wherein the displaycontent comprises display cards and the display cards are selected basedon categories of previous cards with which a user associated with theuser device has previously interacted.
 21. The non-transitory computerstorage medium of claim 18, wherein the operations comprise: determiningthat the answer box is presented on a mobile device comprising a displayhaving a display area; and sizing the answer box in a manner that causesthe answer box to be presented over at least a threshold portion of thedisplay area.